import Vue from 'vue'
import Vuex from 'vuex'
import {
    getUserMineInfo
} from "../api/controller";
Vue.use(Vuex)

// 用来存储数据
const state = {
    userData: null, // 用户数据
};

// 响应组件中的事件
const actions = {
    // 获取用户数据
    fetchUserData() {
        // 发送请求获取用户数据
        getUserMineInfo()
            .then((response) => {
                const { data } = response;
                state.userData = data
            })
            .catch((error) => {
                this.$message.error(error.message);
            });
    },
};

// 操作数据
const mutations = {
    // 设置用户数据
    SET_USER_DATA(state, newData) {
        state.userData = newData;
    },
};

// 用来将state数据进行加工
const getters = {
    // 获取用户数据
    getUserData(state) {
        return state.userData;
    },
};

// 新建并暴露store
export default new Vuex.Store({
    state,
    actions,
    mutations,
    getters
})
